Diagrams are frequently used to enable human beings to comprehend complex relationships between items, such as data base records or computer programming objects. The relationships are usually visually represented as lines (connectors) drawn between nodes that represent the items. When a diagram is small (approximately 10 nodes or less), a user can easily arrange the diagram by hand to be readable. However, larger diagrams make hand-placement of nodes a tedious, non-trivial, time-consuming task. Although diagrams are most valuable when dealing with hundreds of nodes and hundreds of connectors, the value is severely diminished when the user has to manipulate the nodes and connectors to make the diagram understandable.
Therefore, there have been many attempts to develop a computer application that lays out diagrams in a way that is both quick and very easy to read. However, all of the currently available applications fail to entirely address the problem from both the standpoints of speed and resulting readability.
For example, using seventy-two nodes and over one hundred connectors, Visio.RTM. by Visio Corp. requires approximately thirty seconds to create a diagram, related nodes are not clustered together, and the nodes are so densely packed together that the resulting diagram is not easily readable by a human being. Erwin.TM. by LogicWorks, Inc. lays out the same number of nodes and connectors in approximately ten seconds, but also does not cluster related nodes. Graphing software from Tom Sawyer Software is faster than Erwin.TM. but outputs a diagram that is also difficult to read because related nodes are not clustered and because the nodes are dispersed over a wide area, making the connectors excessively long.
Therefore, the need for a layout application that creates a node and connector diagram that is easily understood and quickly created.